CodeIgniter এর Built-in Error Handling ব্যবহার

Web Development - কোডইগনাইটার (Codeigniter) - CodeIgniter এর Error Handling এবং Debugging |

CodeIgniter একটি শক্তিশালী Error Handling সিস্টেম প্রদান করে যা ডেভেলপারদের অ্যাপ্লিকেশন ব্যবহারের সময় ত্রুটি শনাক্ত করতে এবং সেগুলি পরিচালনা করতে সহায়তা করে। এর মাধ্যমে, আপনি ইস্যুগুলো দ্রুত চিহ্নিত এবং সমাধান করতে পারবেন।

CodeIgniter-এ Built-in Error Handling ব্যবহারের জন্য বিভিন্ন পদ্ধতি এবং কনফিগারেশন সেটআপ রয়েছে, যা অ্যাপ্লিকেশনের পারফরম্যান্স এবং সিকিউরিটি উন্নত করে।


Error Handling এর ধাপসমূহ

১. Error Logging

CodeIgniter ত্রুটির লগ রাখার জন্য একটি শক্তিশালী সিস্টেম সরবরাহ করে। এটি সাধারণত application/logs/ ফোল্ডারে ত্রুটি লগ ফাইল সংরক্ষণ করে।

১.1. Error Logging কনফিগারেশন

Error Logging চালু করতে, application/config/config.php ফাইলে $config['log_threshold'] প্যারামিটারটি কনফিগার করতে হবে।

log_thresholdবর্ণনা
0ত্রুটি লগিং নিষ্ক্রিয়
1শুধুমাত্র Error (Error level) লগ করা হবে
2Error এবং Debugging (Debug level) লগ করা হবে
3Error, Debugging এবং Informational logs (Info level)
4সমস্ত লগ তথ্য (Error, Debugging, Info, and All messages)
// config.php ফাইল
$config['log_threshold'] = 1; // শুধুমাত্র Error লগ করা হবে
১.2. Error Logs দেখার উদাহরণ

ত্রুটি লগগুলি application/logs/ ফোল্ডারে একটি .php ফাইল হিসেবে সংরক্ষিত থাকে, যেমন log-YYYY-MM-DD.php


২. Error Levels

CodeIgniter বিভিন্ন Error Level সাপোর্ট করে যা বিভিন্ন ধরনের ত্রুটি রিপোর্ট এবং লগ করতে সাহায্য করে। এগুলি application/config/config.php ফাইলে কনফিগার করা যেতে পারে।

Error Levelবর্ণনা
ERRORসাধারণ ত্রুটি, যেমন সার্ভার সমস্যা বা ডাটাবেস সংযোগ ত্রুটি।
DEBUGডিবাগিংয়ের জন্য লোড হওয়া তথ্য (সামান্য সমস্যা)।
INFOসাধারণ তথ্য যা ব্যবহারকারীর জন্য উপকারী হতে পারে।
ALLসমস্ত স্তরের ত্রুটি এবং লগ তথ্য প্রদর্শন করবে।

আপনি log_threshold প্যারামিটার দ্বারা এই লেভেল সেট করতে পারেন।


৩. Custom Error Handling

আপনার নিজের কাস্টম ত্রুটি পরিচালনা করতে আপনি set_error_handler() ফাংশন ব্যবহার করতে পারেন।

৩.1. Custom Error Handler Example
// application/config/errors.php
defined('BASEPATH') OR exit('No direct script access allowed');

// Custom Error handler function
function custom_error_handler($severity, $message, $filepath, $line) {
    // Custom error message
    echo "<strong>Error Severity: </strong>" . $severity . "<br>";
    echo "<strong>Error Message: </strong>" . $message . "<br>";
    echo "<strong>File Path: </strong>" . $filepath . "<br>";
    echo "<strong>Line Number: </strong>" . $line . "<br>";

    // Optionally, log the error
    log_message('error', $message);
}

// Register the custom error handler
set_error_handler('custom_error_handler');

এই ফাংশনটি ত্রুটি শনাক্ত হলে কাস্টম সিস্টেমে আউটপুট দেখাবে এবং লগ করবে।


৪. Show Errors and Displaying Errors

CodeIgniter ডিফল্টভাবে শো ত্রুটি নিষ্ক্রিয় করে রাখে (production মোডে)। তবে ডেভেলপমেন্ট পরিবেশে এটি প্রদর্শন করা যেতে পারে।

৪.1. Development মোডে ত্রুটি দেখানো

application/config/config.php ফাইলে show_debug সেটিংস এডিট করে ত্রুটি দেখানো যেতে পারে।

// config.php ফাইল
$config['log_threshold'] = 4; // সমস্ত লগ সহ সকল ত্রুটি দেখানো হবে।
$config['show_error'] = TRUE; // ত্রুটি দেখানো
৪.2. Error Pages তৈরি করা

আপনি কাস্টম 404 Error page বা 500 Server Error পেজ তৈরি করতে পারেন।

// Controller Example
public function show_error_page() {
    // আপনার কাস্টম 404 পেজ এখানে লোড করা হবে
    $this->load->view('custom_error_page');
}

এবং কাস্টম 404 পেজ তৈরি করতে:

// application/views/custom_error_page.php
<html>
<head>
    <title>Page Not Found</title>
</head>
<body>
    <h1>Sorry, the page you are looking for cannot be found.</h1>
</body>
</html>

৫. Exception Handling

CodeIgniter তে Exception Handling ব্যবহারের মাধ্যমে ত্রুটিগুলি আরও দক্ষতার সাথে পরিচালনা করা যায়। এটি try-catch ব্লক ব্যবহার করে করা হয়।

৫.1. Exception Handling Example
try {
    // Some code that might throw an exception
    throw new Exception('Something went wrong!');
} catch (Exception $e) {
    // Handle exception
    echo 'Caught exception: ',  $e->getMessage(), "\n";
    log_message('error', 'Caught exception: ' . $e->getMessage()); // Log the exception
}

CodeIgniter তে Built-in Error Handling এর সুবিধা

  1. সহজ কনফিগারেশন: Error handling এবং logging সেটআপ সহজেই করা যায়।
  2. Multiple Error Levels: বিভিন্ন ধরনের ত্রুটির জন্য আলাদা আলাদা লগ লেভেল ব্যবহার করা যায়।
  3. Custom Error Handling: আপনার প্রয়োজন অনুযায়ী কাস্টম ত্রুটি মেসেজ বা রেসপন্স তৈরি করা যায়।
  4. Automatic Error Logging: সমস্ত ত্রুটি স্বয়ংক্রিয়ভাবে লগ করা হয়, যা ডিবাগিংকে সহজ করে তোলে।
  5. User-Friendly Error Pages: কাস্টম ত্রুটি পেজ তৈরি করতে পারেন যা ব্যবহারকারীকে সহায়ক বার্তা প্রদান করবে।

CodeIgniter এর Built-in Error Handling সিস্টেম ডেভেলপারদের জন্য একটি শক্তিশালী টুল, যা ত্রুটি দ্রুত শনাক্ত করতে এবং সমাধান করতে সহায়ক। এটি কাস্টম এবং ডিফল্ট ত্রুটি হ্যান্ডলিং সিস্টেম, লগিং এবং কাস্টম 404 বা 500 পেজ প্রদর্শন করার সুবিধা দেয়।

Content added By
Promotion